単一プロジェクトと、複数のプロジェクトから成る CMA
CとC++は、1つまたは複数のステップで実行ファイルのビルドを許可します(例:ライブラリを実行ファイルの定義に追加する等)。 ライブラリと実行ファイルは、単一のユニットとしてではなく、順番に構築するビルドスクリプトであり、個別のコードプロジェクトです。
Perforce QACプロジェクトは、通常コードプロジェクトに対応しています。 実行ファイルが複数のライブラリからビルドされている場合は、実行ファイルそのものに対するPerforce QACプロジェクトと、多くの場合各ライブラリにPerforce QACプロジェクトがあります。
CMAのコンテキストでは、ビルド可能なエンティティとなるもので操作することが重要です(例:最終実行ファイルとすべてのライブラリがリンクされている等)。 RCMAは、実行ファイルに組み込まれるライブラリ内のコードを含む、実行ファイルになるすべてのコードを参照する必要があります。 これは、RCMAが複数のPerforce QACプロジェクトと作業する必要があることを示しています。 そうするために、CMAプロジェクトは多くの独立したPerforce QACプロジェクトを含んで作成することができます。 CMAソリューションエディタ の項 には、CMAプロジェクトを設定する方法についての説明があります。
すべてのCおよび、C++の実行ファイルが、いくつかのステップに基づいて構築されるわけではありません。 多くの場合は、実行ファイルになる全てのコードを含む単一コードプロジェクトです。 その場合は、全てのコードファイルを含むコードプロジェクトに対応する、単一のPerforce QACプロジェクトとなります。 1つのPerforce QACプロジェクトだけを含む、CMAプロジェクトを作成することは可能です。
しかし、構造をできるだけ簡単にするために、Perforce QACにはCMAのプロジェクトではなく、単一のPerforce QACプロジェクトに対してCMAのチェックを実行する機能があります。 Perforce QACプロジェクトに対してRCMAを実行することを単一プロジェクトCMA解析と呼び、CMAプロジェクトに対してRCMAを実行することをマルチプロジェクトCMAソリューション解析と呼びます。